package com.sf.shiva.oms.common.constant;
/**
 * 
 * 描述：通用常量类
 * <pre>HISTORY
 * ****************************************************************************
 *  ID   DATE           PERSON          REASON
 *  1    2016年6月16日      80002088        Create
 * ****************************************************************************
 * </pre>
 * @author 80002088
 * @since
 */
public class CommonConstant {
    /**
     * 通用状态 是
     */
    public static final String COMMON_STATUS_YES = "1";
    /**
     * 通用状态 否
     */
    public static final String COMMON_STATUS_NO = "0"; 
    /**
     * 通用状态 是
     */
    public static final int COMMON_STATUS_INT_YES = 1;
    /**
     * 通用状态 否
     */
    public static final int COMMON_STATUS_INT_NO = 0; 
    
    /** 通用状态：true**/
    public static final String COMMON_STATUS_TRUE = "TRUE";
    /** 通用状态：false**/
    public static final String COMMON_STATUS_FALSE = "FALSE";
    
    
    /** 系统配置信息缓存数据库分库总量 **/
    public static final String SCHEMA_COUNT = "schema.count";
    /** 系统配置信息缓存数据库分库总量 **/
    public static final String SCHEMA_COUNT_WAYBILLNO = "schema.count.waybillNo";
    /** 默认模值 **/
    public static final String MOD = "000";
    /** 系统默认前缀名称**/
    public static final String SCHEMA_DEFAULT_PREFIX_CODE = "cityCode_";
    /** 系统数据库需要进行hash的总量**/
    public static final String SCHEMA_HASH_COUNT =  "schema.hash.count";
    
    /**
     *  对未分配的城市进行数据库区间分配，多个区间用;分开，区间开始和结束用,分开
     */
    public static final String SCHEMA_HASH_RANGE = "schema.hash.range";
 
    /**
     * 收件方地址标识 默认值 1
     */
    public static final String RECEIVER_ADDRESS_FLAG="1"; 
    
    /**
     * 录入人工号：系统
     */
    public static final String INPUTER_SYSTEM = "OMS";
    /**
     * SHIVA-OMS
     */
    public static final String SHIVA_OMS = "SHIVA-OMS";
    /**
     * 节点值
     */
    public static final String OTHER_NODE_FLAG = "OMS";
    /**
     * BSP过来的单录单员工号后+_OMS
     */
    public static final String BSP_INPUTER_CODE = "_OMS";
    /**
     * 录入人工号：系统
     */
    public static final String OPERATOR_CODE = "SYSTEM";
    /**
     * 默认的产品代码
     */
    public static final String DEFAULT_PRODUCT_CODE = "SE9999";
    /** 处理次数默认值 **/
    public static final Integer DEFAULT_NUM = 0;
    
    /** 运单版本默认值 **/
    public static final Integer WAYBILL_VERSION_DEFAULT_NUM = 0;
    //常用包名
    public static final String PACKAGE_NAME="com.sf";
    //缓存固定包名
    public static final String CACHE_PACKAGE_NAME="com.sf.shiva.common.domain.tempalte";
    /** Integer类型：0 */
    public static final Integer ZERO = 0;
    /** int类型 0 */
    public static final int INT_ZERO = 0;
    //相差分钟数
    public static final Integer DIFFMINUTE = 10;
    /** 系统配置信息缓存数据库分库总量 **/
    public static final String SCHEMA_DIFF_TIME = "schema.diff.time";
    /**启动时更新schema执行时间为10分钟之前的数据 **/
    public static final Integer TEN_MINUTE = 10 ;
    /**schema保存Redis时长配置 **/
    public static final String SCHEMA_CLEAR_EXECUTE_BEFORE_TIME = "schema.clear.execute.before.time";
     
    /** 成功 **/
    public static final Integer SUCCESS = 0;
    /** 失败 **/
    public static final Integer FAIL = 1;
    
    /**默认数据库总数 **/
    public static final Integer DEFAULT_SCHEMA_COUNT = 128;
  
    
    
    /** 每次从数据库取数据的最大数 */
    public static final int OBTAINED_NUMBER_EACH_FROM_DATEBASE = 500;
    
    /**kafka每次发送的最大字节数**/
    public static final Long KAFKA_BYTE_LENGTH = 1024*900L;
    /** 一分钟的秒数 */
    public static final long SECOND_ONE_MINUTE = 60L;
    
    /** 一天的毫秒数 */
    public static final long MILLISECOND_ONE_DAY = 24L * 3600 * 1000;
    /** 一秒的毫秒数 */
    public static final long MILLISECOND_ONE_SECOND =  1000;
    /** 一天的秒数 */
    public static final int SECOND_ONE_DAY = 24 * 60 * 60;
    /** 异常原因截取长度**/
    public static final Integer EXCEPTION_LENGTH = 4000; 
    /**没有可以被上锁的SCHEMA休眠时间 **/
    public static final String NO_SCHEMA_LOCK_DEFAULT_SLEEPTM = "10000";
    /** 对SCHEMA上锁之后的休眠时间**/
    public static final String LOCK_SCHEMA_DEFAULT_SLEEPTM = "1000";
    /** 没有数据进行发送的休眠时间**/
    public static final String NO_DATA_SEND_DEFAULT_SLEEPTM = "60000";
    /**随机休眠默认时间 **/
    public static final String RANDOM_DEFAULT_SLEEPTM  = "29";
    
    
    /** 线程池线程数大于或者等于设置的线程数的休眠时间在数据库中配置的key值**/
    public static final String AC_GE_TC_DEFAULT_SLEEP_TIME  = "ac.ge.tc.default.sleep.time";
    /** 处理异常休眠时间在数据库中配置的key值**/
    public static final String EXCEPTION_DEFAULT_SLEEP_TIME = "exception.default.sleep.time";
    /**没有可以被上锁的SCHEMA休眠时间在数据库中配置的key值 **/
    public static final String NO_SCHEMA_LOCK_DEFAULT_SLEEP_TIME = "no.schema.lock.default.sleep.time";
    /** 对SCHEMA上锁之后的休眠时间在数据库中配置的key值**/
    public static final String LOCK_SCHEMA_DEFAULT_SLEEP_TIME = "lock.schema.default.sleep.time";
    /** 没有数据进行发送的休眠时间在数据库中配置的key值**/
    public static final String NO_DATA_SEND_DEFAULT_SLEEP_TIME = "no.data.send.default.sleep.time";
    /**随机休眠默认时间在数据库中配置的key值 **/
    public static final String RANDOM_DEFAULT_SLEEP_TIME  = "random.default.sleep.time";
 
    /** 本地缓存容量默认大小：5000条数据 */
    public static final long LOCAL_CACHE_DEFAULT_SIZE = 5000L;
     
    
    /**保存运单号和订单号对应关系尝试次数 **/
    public static final Integer TRY_TIMES = 3;
    
    /**实体对象中的序列属性 **/
    public static final String NAME_SERIALVERSIONUID = "SerialVersionUID";
    /** 实体对象中的属性中包含List**/
    public static final String NAME_LIST = "List";
    /** 实体对象中的get方法**/
    public static final String METHOD_GET = "get";
    /** 实体对象中的set方法**/
    public static final String METHOD_SET = "set"; 
    
    /** XML头元素 */
    public static final String XML_HEAD = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n";
    /** XML的编码：UTF-8 */
    public static final String XML_ENCODING_UTF8 = "UTF-8";
    
    /** 来源系统：BSP**/
    public static final String SYS_BSP="BSP";
    
    /** Mycat的每次查询的最大条数：10000条，不可随意更改*/
    public static final int MYCAT_EACH_SEARCH_MAX_ROW_NUM = 10000;
    
    /**其他节点同步数据998的通知wbep不录回单*/
    public static final String OTHER_NODE_FLG_998 = "998";
    /**其他节点同步数据880的通知wbep不录回单*/
    public static final String OTHER_NODE_FLG_880 = "880";
    /** 空字符串 **/
    public static final String EMPTY_STR = "";
    /**发送kafka尝试次数 **/
    public static final Integer SEND_KAFKA_TRY_NUM = 3;
    
    /** 空字符串 **/
    public static final String EMPTYSTR="";
    
    /** 5分钟**/
    public static final Long FIVE_MINUTE_MILSECOND = 5l * 60 * 1000;
    
    /** 10分钟**/
    public static final Long TEN_MINUTE_MILSECOND = 10l * 60 * 1000 ;
    
    /** 需要生成虚拟的订单号 */
    public static final String GEN_VIRTUAL_NO = "genVirtualNo";
    /** 子单，多个已“ , ”（半角逗号）分隔 */
    public static final String CHILD_SEPARATE_FLAG = ",";
    /**
     * 筛单结果:0-筛单通过
     */
    public static final String SCREEN_PASS="0";
    /**
     * 筛单结果:2-可收派
     */
    public static final String FILTER_RESULT_OK="2";

    /**
     * 下单
     */
    public static final String CREATE_ORDER = "1";
    
    /** 默认保存操作类运单数据最大处理次数 */
    public static final int DEFAULT_MAX_COUNT = 5;
    
    public static final String FILE_SEP = System.getProperty("file.separator");

    private CommonConstant(){}
 }
